public class yanghui {
    /*
    用二维数组打印一个 10 行的杨辉三角
    1
    1   1
    1   2   1
    1   3   3   1
    1   4   6   4   1
    1   5   10  10  5   1
    ....
    杨辉三角的特点：
    第 n 行有 n 个 元素
    每一行的第一个元素和最后一个元素都是 1
    从第三行开始，对于非第一个元素和最后一个元素的值为 arr[i][j] = arr[i-1] +arr[i-1][j-1];
    * */
    public static void main(String[] args) {
        int arr[][] = new int[10][];
        for (int i = 0; i < arr.length; i++) {
            //给每个一维数组开辟空间
            arr[i] = new int[i+1];
            for (int j = 0; j < arr[i].length; j++) {

                if(j ==0 ){
                    arr[i][j] = 1;
                } else if (j == arr[i].length-1) {
                    arr[i][j] = 1;
                }else {
                    arr[i][j] = arr[i-1][j] + arr[i-1][j-1];
                }
            }
        }

        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j] + "\t");
            }
            System.out.println();
        }

        /*二维数组使用细节及注意事项
        1. 一维数组的声明方式有：
            int[ ] x 或者 int x[ ]
        2. 二维数组的声明方式有：
            int[ ][ ] x 或者 int x[ ][ ] 或者int[ ] x[ ]
        3. 二维数组实际上是由多个一维数组组成的，它的各个一维数组长度可以相同，也可以不同。

        * */
    }
}
